<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .father {
            width: 300px;
            height: 500px;
            border: 1px solid red;
            margin-bottom: 50px;

        }

        .son1,
        .son2 {
            width: 100px;
            height: 100px;
            background-color: pink;
        }

        .son1 {
            margin-bottom: 50px;
        }

        .over {
            overflow: hidden;
            /* 通过设置border也可以清除外边距合并 */
        }

        .son2 {
            background-color: purple;
            margin-top: 100px;
            overflow: hidden;
        }

        .f2 {
            overflow: hidden;
        }

        .f3 {
            background-color: blue;
            width: 100px;
            height: 100px;
            margin-top: 100px;
        }
    </style>
</head>

<body>
    <div class="father">
        <div class="over"> <!--over隔开，那么 son1 就和son1 不是同一BFC,   在不同的父元素下-->
            <div class="son1"></div>
        </div>
        <div class="son2"></div>
    </div>

    <div class="f2">B
        <div class="f3"></div>
    </div>
    <!-- <div>4</div>
    <div>5</div>  直接两个盒子并排，给盒子加overflow:hidden是没有效果的，因为他们还是同一个bfc（fater一样）-->
    </div>
</body>

</html>